{
 "metadata": {
  "name": ""
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Coupled spring-mass system\n",
      "======================================================================\n",
      "\n",
      "This cookbook example shows how to solve a system of differential\n",
      "equations. (Other examples include the\n",
      "[Lotka-Volterra Tutorial](LotkaVolterraTutorial.html), the\n",
      "[Zombie Apocalypse](Zombie_Apocalypse_ODEINT.html) and the\n",
      "[KdV example](KdV.html).)\n",
      "\n",
      "A Coupled Spring-Mass System\n",
      "----------------------------\n",
      "\n",
      "This figure shows the system to be modeled:\n",
      "\n",
      "![](files/attachments/CoupledSpringMassSystem/two_springs_diagram.png)\n",
      "\n",
      "Two objects with masses $m_1$ and $m_2$ are coupled through springs\n",
      "with spring constants $k_1$ and $k_2$. The left end of the left spring\n",
      "is fixed. We assume that the lengths of the springs, when subjected to\n",
      "no external forces, are $L_1$ and $L_2$.\n",
      "\n",
      "The masses are sliding on a surface that creates friction, so there are\n",
      "two friction coefficients, $b_1$ and $b_2$.\n",
      "\n",
      "The differential equations for this system are\n",
      "\n",
      "$m_1 x_1'' + b_1 x_1' + k_1 (x_1 - L_1) - k_2 (x_2 - x_1 - L_2) = 0$\n",
      "\n",
      "$m_2 x_2'' + b_2 x_2' + k_2 (x_2 - x_1 - L_2) = 0$\n",
      "\n",
      "This is a pair of coupled second order equations. To solve this system\n",
      "with one of the ODE solvers provided by SciPy, we must first convert\n",
      "this to a system of first order differential equations. We introduce two\n",
      "variables\n",
      "\n",
      "$y_1 = x_1'$\n",
      "\n",
      " $y_2 = x_2'$\n",
      "\n",
      "These are the velocities of the masses.\n",
      "\n",
      "With a little algebra, we can rewrite the two second order equations as\n",
      "the following system of four first order equations:\n",
      "\n",
      "$x_1' = y_1$\n",
      "\n",
      "$y_1' = (-b_1 y_1 - k_1 (x_1 - L_1) + k_2 (x_2 - x_1 - L_2))/m_1$\n",
      "\n",
      "$x_2' = y_2$\n",
      "\n",
      "$y_2' = (-b_2 y_2 - k_2 (x_2 - x_1 - L_2))/m_2$\n",
      "\n",
      "These equations are now in a form that we can implement in Python.\n",
      "\n",
      "The following code defines the \"right hand side\" of the system of\n",
      "equations (also known as a vector field). I have chosen to put the\n",
      "function that defines the vector field in its own module (i.e. in its\n",
      "own file), but this is not necessary. Note that the arguments of the\n",
      "function are configured to be used with the function odeint: the time t is the\n",
      "second argument."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "def vectorfield(w, t, p):\n",
      "    \"\"\"\n",
      "    Defines the differential equations for the coupled spring-mass system.\n",
      "\n",
      "    Arguments:\n",
      "        w :  vector of the state variables:\n",
      "                  w = [x1,y1,x2,y2]\n",
      "        t :  time\n",
      "        p :  vector of the parameters:\n",
      "                  p = [m1,m2,k1,k2,L1,L2,b1,b2]\n",
      "    \"\"\"\n",
      "    x1, y1, x2, y2 = w\n",
      "    m1, m2, k1, k2, L1, L2, b1, b2 = p\n",
      "\n",
      "    # Create f = (x1',y1',x2',y2'):\n",
      "    f = [y1,\n",
      "         (-b1 * y1 - k1 * (x1 - L1) + k2 * (x2 - x1 - L2)) / m1,\n",
      "         y2,\n",
      "         (-b2 * y2 - k2 * (x2 - x1 - L2)) / m2]\n",
      "    return f"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 1
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "Next, here is a script that uses odeint to solve the equations for a given set\n",
      "of parameter values, initial conditions, and time interval. The script\n",
      "writes the points to the file 'two_springs.dat'."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# Use ODEINT to solve the differential equations defined by the vector field\n",
      "from scipy.integrate import odeint\n",
      "\n",
      "# Parameter values\n",
      "# Masses:\n",
      "m1 = 1.0\n",
      "m2 = 1.5\n",
      "# Spring constants\n",
      "k1 = 8.0\n",
      "k2 = 40.0\n",
      "# Natural lengths\n",
      "L1 = 0.5\n",
      "L2 = 1.0\n",
      "# Friction coefficients\n",
      "b1 = 0.8\n",
      "b2 = 0.5\n",
      "\n",
      "# Initial conditions\n",
      "# x1 and x2 are the initial displacements; y1 and y2 are the initial velocities\n",
      "x1 = 0.5\n",
      "y1 = 0.0\n",
      "x2 = 2.25\n",
      "y2 = 0.0\n",
      "\n",
      "# ODE solver parameters\n",
      "abserr = 1.0e-8\n",
      "relerr = 1.0e-6\n",
      "stoptime = 10.0\n",
      "numpoints = 250\n",
      "\n",
      "# Create the time samples for the output of the ODE solver.\n",
      "# I use a large number of points, only because I want to make\n",
      "# a plot of the solution that looks nice.\n",
      "t = [stoptime * float(i) / (numpoints - 1) for i in range(numpoints)]\n",
      "\n",
      "# Pack up the parameters and initial conditions:\n",
      "p = [m1, m2, k1, k2, L1, L2, b1, b2]\n",
      "w0 = [x1, y1, x2, y2]\n",
      "\n",
      "# Call the ODE solver.\n",
      "wsol = odeint(vectorfield, w0, t, args=(p,),\n",
      "              atol=abserr, rtol=relerr)\n",
      "\n",
      "with open('two_springs.dat', 'w') as f:\n",
      "    # Print & save the solution.\n",
      "    for t1, w1 in zip(t, wsol):\n",
      "        print(t1, w1[0], w1[1], w1[2], w1[3], file=f)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 2
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "The following script uses Matplotlib to plot the solution generated by the above script."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# Plot the solution that was generated\n",
      "\n",
      "from numpy import loadtxt\n",
      "from pylab import figure, plot, xlabel, grid, legend, title, savefig\n",
      "from matplotlib.font_manager import FontProperties\n",
      "\n",
      "t, x1, xy, x2, y2 = loadtxt('two_springs.dat', unpack=True)\n",
      "\n",
      "figure(1, figsize=(6, 4.5))\n",
      "\n",
      "xlabel('t')\n",
      "grid(True)\n",
      "lw = 1\n",
      "\n",
      "plot(t, x1, 'b', linewidth=lw)\n",
      "plot(t, x2, 'g', linewidth=lw)\n",
      "\n",
      "legend((r'$x_1$', r'$x_2$'), prop=FontProperties(size=16))\n",
      "title('Mass Displacements for the\\nCoupled Spring-Mass System')\n",
      "savefig('two_springs.png', dpi=100)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\n",
       "text": [
        "<matplotlib.figure.Figure at 0x44d6a90>"
       ]
      }
     ],
     "prompt_number": 3
    }
   ],
   "metadata": {}
  }
 ]
}
